//  This file is part of MOS, the MANTIS Operating System
//  See http://mantis.cs.colorado.edu/
//
//  Copyright (c) 2002 - 2007 University of Colorado, Boulder
//
//   All rights reserved.
//
//   Redistribution and use in source and binary forms, with or without
//   modification, are permitted provided that the following conditions are
//   met:
//
//       * Redistributions of source code must retain the above copyright
//         notice, this list of conditions and the following disclaimer.
//       * Redistributions in binary form must reproduce the above
//         copyright notice, this list of conditions and the following
//         disclaimer in the documentation and/or other materials provided
//         with the distribution. 
//       * Neither the name of the MANTIS Project nor the names of its
//         contributors may be used to endorse or promote products derived
//         from this software without specific prior written permission.
//
//   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
//   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
//   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
//   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
//   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
//   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
//   BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
//   LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
//   CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
//   LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
//   ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
//   POSSIBILITY OF SUCH DAMAGE.

/**************************************************************************/
/* File:      mos.h                                                       */
/* Author     Jeff Rose   :  rosejn@colorado.edu                          */
/*   Date:  10/12/03                                                      */
/*                                                                        */
/* A simple argument parser for using command line args in linux (xmos).  */
/**************************************************************************/

#include "mos.h"

#include <string.h>

#include "arg.h"

int nargs;
char **args;

uint8_t arg_init(int argc, char *argv[])
{
   nargs = argc;
   args = argv;

   return 0;
}

int mos_arg_argc (void)
{
  return nargs;
}

char **mos_arg_argv (void)
{
  return args;
}

uint8_t mos_arg_check(uint8_t *arg, uint8_t **val)
{
   uint8_t i, found;

   found = 0;

   for(i = 0; i < nargs; i++)
   {
      if(strcmp(args[i], arg) == 0)
      {
	 found = 1;
	 break;
      }
   }

   if(found)
   {
      if((val != NULL) && (i < nargs-1))
	 *val = args[i+1];
      return 1;
   }
   else
      return 0;
}
